package com.wht.ai.tools;

import cn.hutool.core.util.StrUtil;
import org.noear.solon.ai.annotation.FunctionMapping;
import org.noear.solon.ai.annotation.FunctionParam;
import org.noear.solon.annotation.Component;

/**
 * @author by HaiTao.Wang on 2025/2/18.
 */
@Component
public class MenuFunction {

    @FunctionMapping(name = "menuInfo", description = "介绍菜品信息")
    public String menuInfo() {

        //此处可以查询数据库，返回菜品信息
        return StrUtil.format("顾客，您好！\n" +
                "我们店的菜品非常丰富：\n" +
                "荤菜有：香辣鸡杂、毛豆烧鸡、红烧肉...\n" +
                "素菜有：蒸蛋、西红柿鸡蛋、油炸大白菜....");
    }

    @FunctionMapping(name = "getPrice", description = "查询菜品的价格")
    public String getPrice(@FunctionParam(description = "根据问题推测菜品名") String name) {

        //此处可以根据菜品名查询数据库，返回价格
        double price = 9.9;
        return StrUtil.format("{}的价格是：{}元", name, price);
    }

    @FunctionMapping(name = "order", description = "下单")
    public String order(@FunctionParam(description = "根据问题推测所有的菜品名，用“,”隔开，不要出现其他的字符") String order) {

        //此处可以根据菜单名自动生成订单
        System.err.println("function order, order = " + order);
        return StrUtil.format("您下单的菜品是：{}", order);
    }

}
